package org.jetnuke.modules.pictures;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.velocity.VelocityContext;
import org.jetnuke.common.ActionForward;
import org.jetnuke.common.IAction;
import org.jetnuke.common.IAdminInfo;
import org.jetnuke.common.IModuleInfo;
import org.jetnuke.common.IUserInfo;
import org.jetnuke.dao.DataAccessDriver;
import org.jetnuke.dao.PictureAlbumDAO;
import org.jetnuke.entities.Picture;
import org.jetnuke.entities.PictureAlbum;
import org.jetnuke.servlets.utilities.StringUtils;
import org.jetnuke.util.JetUtil;

public class UpdateInfo implements IAction {
	int pid;
	String caption, title,keywords;
	int album;
	public void setAlbum(int album) {
		this.album = album;
	}
	public void setCaption(String caption) {
		this.caption = StringUtils.filterText(caption,false) ;
	}
	public void setPid(int pid) {
		this.pid = pid;
	}
	public void setTitle(String title) {
		this.title = StringUtils.filterText(title,true) ;
	}
	public ActionForward exec(HttpServletRequest request,
			HttpServletResponse response, VelocityContext vc, IModuleInfo info,
			String op, IUserInfo ui, IAdminInfo ai) throws Exception {
		if(ui==null || ui.getID()<2)
			return null;
		Picture picture=DataAccessDriver.getInst().newPictureDAO().retrieveByPK(pid);
		if(picture.getUID()!=ui.getID())
			return null;
		picture.setTITLE(title);
		picture.setCAPTION(caption);
		picture.setAID(album);
		picture.setKEYWORDS(keywords);
		PictureAlbumDAO pad=DataAccessDriver.getInst().newPictureAlbumDAO();
		PictureAlbum pa=pad.retrieveByPK(album);
		if(pa.getUID()!=ui.getID())
			return null;
		DataAccessDriver.getInst().newPictureDAO().update(picture);
		JetUtil.redirect(vc,response,request.getContextPath()+"/do/pictures/showmedium?pid="+pid);
		return null;
	}
	public void setKeywords(String keywords) {
		this.keywords = keywords;
	}

}
